var last_login = false;
function login() {
    // 获取style属性值
    var block1 = document.getElementById("block1");
    var block2 = document.getElementById("block2");

    // 获取注册用户名和密码的输入框的值
    var register_username = document.getElementById("register_username");
    var register_password = document.getElementById("register_password");
    var confirm_password = document.getElementById("confirm_password");

    // 获取存储在 localStorage 中的凭据数据
    var storedCredentialsJSON = localStorage.getItem('credentials');

    // 将获取到的 JSON 字符串解析为对象
    var storedCredentials = JSON.parse(storedCredentialsJSON);

    // 用户名重复判断
    var user_match;

    // 验证用户名和密码——注册界面
    if (block1.style.display === "none") {
        // 遍历存储的凭据数据，逐个进行匹配判断
        for (var key in storedCredentials) {
            if (storedCredentials.hasOwnProperty(key)) {
                var user = storedCredentials[key];
                // 检查用户名和密码是否匹配
                if (user.username === register_username.value) {
                    user_match = true;
                }
            }
        }
        // 检测用户名或密码是否为空
        if (register_username.value === "" || register_password.value === "") {
            alert("用户名或密码不能为空！")
        } else if (register_password.value != confirm_password.value) {
            alert("两次输入密码不一致");
        } else if (user_match) {
            alert("用户名已存在！");
        } else {
            SetLocalStorageData();
            alert("注册成功！请返回登录页面进行登录")
            block1.style.display = "block";
            block2.style.display = "none";
        }
    } else if (block2.style.display === "none") {
        var user_match = false; // 初始化匹配状态为 false

        // 获取存储在 localStorage 中的凭据数据
        var storedCredentialsJSON = localStorage.getItem('credentials');

        // 将获取到的 JSON 字符串解析为对象
        var storedCredentials = JSON.parse(storedCredentialsJSON);

        // 获取登录用户名和密码的输入框的值
        var username = document.getElementById("username");
        var password = document.getElementById("password");

        // 遍历存储的凭据数据，逐个进行匹配判断
        for (var key in storedCredentials) {
            if (storedCredentials.hasOwnProperty(key)) {
                var user = storedCredentials[key];
                var decrypted = decryptPassword(user.password);

                // 检查用户名和密码是否匹配
                if (user.username === username.value && decrypted === password.value) {
                    user_match = true;
                    // 匹配成功后立即跳出循环
                    break;
                }
            }
        }

        // 如果找到匹配的用户
        if (user_match) {
            // 定位复选框元素
            var checkbox = document.querySelector("#remenber_password input[type='checkbox']");
            // 检查复选框是否被选中
            if (checkbox.checked) {
                user.remember_pwd = true;   // 记住密码为true
                user.status = true; // 最新登录账户判断为true
            } else {
                user.remember_pwd = true;
                user.status = false;
            }
        }

        // 保存更新后的凭据数据到 localStorage
        localStorage.setItem('credentials', JSON.stringify(storedCredentials));


        // 获取复选框数据
        var protocal_checkbox = document.getElementById("protocal_checkbox");

        // 验证用户名和密码——登录界面
        if (username.value === "admin" && password.value === "123" && protocal_checkbox.checked) {
            // 加载新页面
            parent.window.location.href = "index_raw.html";
        } else if (user_match && protocal_checkbox.checked) {    // 成功匹配用户注册的账号密码
            // 加载新页面
            parent.window.location.href = "index_raw.html"; 
        } else if (!protocal_checkbox.checked) {
            // 检查复选框是否选中
            alert("请仔细阅读并勾选登录协议和隐私政策");
            return;
        } else if (username === "" || password === "") {
            // 检测用户名或密码是否为空(双等判断会进行类型转换，三等是纯比较)
            alert("用户名或密码不能为空！")
        } else {
            alert("用户名或密码错误");
        }
    }
}